home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / Trnsform.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  3.8 KB  |  174 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:Trnsform.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODTransform_xh
  18. #define SOM_ODTransform_xh
  19.  
  20. class ODTransform;
  21.  
  22. #define ODTransform_MajorVersion 1
  23. #define ODTransform_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODBaseTransform_xh
  30. #include <TrnsFrmB.xh>
  31. #endif
  32.  
  33. #ifndef ODTransform_API
  34. #define ODTransform_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODStorageUnit;
  44. class ODShape;
  45.  
  46. /*
  47.  * End of user-defined types.
  48.  */
  49.  
  50. #if applec ^ PRAGMA_LIB_EXPORT
  51. #pragma lib_export on
  52. #endif
  53.  
  54.  
  55. /* A procedure to create the ODTransform Class */
  56. SOMEXTERN SOMClass * SOMLINK ODTransformNewClass(
  57.         integer4 majorVersion,
  58.         integer4 minorVersion);
  59.  
  60. /* The API to the ODTransform class object, and the methods it introduces. */
  61. typedef struct ODTransformClassDataStructure {
  62.     SOMClass *classObject;
  63.     somMToken InitTransform;
  64.     somMToken IsQDOffset;
  65.     somMToken GetQDOffset;
  66.     somMToken SetQDOffset;
  67.     somMToken ODTransform;
  68.     somMToken ClearInverse;
  69.     somMToken GetRawMatrix;
  70. } ODTransformClassDataStructure;
  71. #ifdef SOM_NO_DATA_EXPORTS
  72.    SOMEXTERN ODTransformClassDataStructure * ODTransformGetClassData ( void );
  73. #   undef ODTransformClassData
  74. #   define ODTransformClassData (*ODTransformGetClassData())
  75. #else
  76.    SOMEXTERN ODTransformClassDataStructure ODTransformClassData;
  77. #endif /* SOM_NO_DATA_EXPORTS */
  78.  
  79. #if applec ^ PRAGMA_LIB_EXPORT
  80. #pragma lib_export off
  81. #endif
  82.  
  83. #define _ODTransform ODTransformClassData.classObject
  84.  
  85. /* The API to parentMtabs for ODTransform, and the instance data it introduces. */
  86. SOMEXTERN struct ODTransformCClassDataStructure {
  87.     somMethodTabs parentMtab;
  88.     somDToken instanceDataToken;
  89. } ODTransformCClassData;
  90.  
  91. /*
  92.  * -- Typedefs for Procedures that support Methods introduced by ODTransform
  93.  */
  94. SOMEXTERN {
  95. typedef void   (* SOMLINK somTD_ODTransform_InitTransform)(ODTransform *somSelf, Environment *ev);
  96. typedef ODBoolean   (* SOMLINK somTD_ODTransform_IsQDOffset)(ODTransform *somSelf, Environment *ev);
  97. typedef ODQDPoint   (* SOMLINK somTD_ODTransform_GetQDOffset)(ODTransform *somSelf, Environment *ev);
  98. typedef ODTransform*   (* SOMLINK somTD_ODTransform_SetQDOffset)(ODTransform *somSelf, Environment *ev,
  99.         ODQDPoint* point);
  100. }
  101.  
  102. #endif /* ODTransform_API */
  103.  
  104.  
  105. /*
  106.  * -- Method Tokens are Thunks
  107.  */
  108. #undef somresolve_
  109. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  110.  
  111. /*
  112.  * -- The C++ Wrapper Class for ODTransform
  113.  */
  114. class ODTransform : public ODBaseTransform
  115. {
  116. public:
  117.  
  118. void *operator new(size_t size)
  119. {
  120.    SOM_IgnoreWarning(size);
  121.    if (!ODTransformClassData.classObject) 
  122.       ODTransformNewClass(ODTransform_MajorVersion,ODTransform_MinorVersion);
  123.    return (void *)
  124.       ((somTD_SOMClass_somNew)
  125.       somresolve_((SOMObject *)((void*)(ODTransformClassData.classObject)),
  126.                  SOMClassClassData.somNew))
  127.          ((SOMClass *)((void*)(ODTransformClassData.classObject)));
  128. }
  129.  
  130. void operator delete(void * obj)
  131. {
  132.    ((SOMObject *)obj)->somFree();
  133. }
  134.  
  135. /* public method: InitTransform */
  136. void   InitTransform(Environment *ev)
  137. {
  138.    SOM_Resolve(this,ODTransform,InitTransform)
  139.     (this,ev);
  140. }
  141.  
  142.  
  143. /* public method: IsQDOffset */
  144. ODBoolean   IsQDOffset(Environment *ev)
  145. {
  146.    return SOM_Resolve(this,ODTransform,IsQDOffset)
  147.     (this,ev);
  148. }
  149.  
  150.  
  151. /* public method: GetQDOffset */
  152. ODQDPoint   GetQDOffset(Environment *ev)
  153. {
  154.    return SOM_Resolve(this,ODTransform,GetQDOffset)
  155.     (this,ev);
  156. }
  157.  
  158.  
  159. /* public method: SetQDOffset */
  160. ODTransform*   SetQDOffset(Environment *ev,
  161.         ODQDPoint* point)
  162. {
  163.    return SOM_Resolve(this,ODTransform,SetQDOffset)
  164.     (this,ev,point);
  165. }
  166.  
  167.  
  168.  
  169. };   /* ODTransform */
  170.  
  171.  
  172.  
  173. #endif       /* SOM_ODTransform_xh */
  174.